home *** CD-ROM | disk | FTP | other *** search
- Path: ar.ar.com.au!not-for-mail
- From: storm@ar.ar.com.au (Storm)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: 680X0 -> PPC translator?
- Date: 8 Mar 1996 11:06:51 +1100
- Organization: I need to put my ORGANIZATION here.
- Message-ID: <4hntmr$vbs@ar.ar.com.au>
- References: <19960306.4543C8.11FB8@an218.du.pipex.com> <DnwA2w.835@cix.compulink.co.uk>
- NNTP-Posting-Host: ar.ar.com.au
- X-Newsreader: TIN [UNIX 1.3 941216BETA PL0]
-
- Jolyon Ralph (jralph@cix.compulink.co.uk) wrote:
-
- : Data in code sections isn't going to be as tough to sort out as code in
- : data sections. It depends on the methodology of your static translator.
- : Something that works through the hunk byte for byte will get fooled by
- : data. Something that understands 680x0 code and AmigaDOS executable file
- : formats and runs through the code in execution order (recursively) should
- : be able to ignore data in code hunks (not that I'd like to write it, of
- : course! I'm just saying that theoretically it can be done).
-
- I can't remember the name of it, but I got an 'intelligent' disassembler
- from Aminet which traces through program flow to determine what bits to
- disassemble as code, and what bits to spit out as dc.b's of data.
-
- Only problem is, there are some code constructs which it's not going to
- be able to trace through properly (eg code which is only ever jumped to
- via a jump table) and it will get wrong. Not such a problem with a
- disassembler, seeing the mistakes are few and the output is being looked
- at by a programmer anyway - but for a static translator, could be big
- problems.
-
- Still, there's no reason why someone couldn't write such a thing. You
- could translate programs, test them, and if they work - great! If they
- don't, oh well, use the 68000 version under emulation.
-
- -- ______________________________
- \_/ "\/\/\__"\/ "\/ "\/\__"\_/
- Storm / Cydonia / / / / / / / / / / / / ' / Packing class
- / /\/> / / / / / / / / / /__ & kicking arse!
- (coder) \__/ \_/\__/\__/\/\/\/\/\/ \/
-